.weChatContent {
  height: 100vh;
  overflow: hidden;
  font-size: 15px;
  display: flex;
  .account {
    width: 100px;
    background-color: #2e2e2ee6;
    text-align: center;
    color: #eee;
    display: flex;
    flex-direction: column;
    height: 100vh;
    &-header {
      padding: 20px 0;
      flex-shrink: 0;
    }
    &-content {
      flex: 1;
      // overflow-y: auto;
      padding: 10px 0;
      &::-webkit-scrollbar {
        width: 4px;
      }
      &::-webkit-scrollbar-thumb {
        background-color: rgba(255, 255, 255, 0.2);
        border-radius: 2px;
      }
      &::-webkit-scrollbar-track {
        background-color: transparent;
      }
      &-box {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        // margin-bottom: 20px;
        cursor: pointer;
        padding: 8px;
        border-radius: 8px;
        transition: all 0.3s ease;

        &:hover {
          background-color: rgba(255, 255, 255, 0.1);
        }

        img {
          width: 50px;
          height: 50px;
          border-radius: 50%;
          margin-bottom: 10px;
          border: 2px solid transparent;
          transition: all 0.3s ease;
        }

        .logout-btn {
          position: absolute;
          top: 0;
          right: 0;
          width: 22px;
          height: 22px;
          border-radius: 50%;
          background: #ff4d4f;
          color: #fff;
          display: flex;
          align-items: center;
          justify-content: center;
          font-size: 12px;
          opacity: 0;
          transform: scale(0.8);
          transition: all 0.3s ease;
          cursor: pointer;
          padding: 0;
          .el-icon {
            margin: 10px auto;
            padding: 8px;
            border-radius: 50%;
            transition: all 0.3s ease;
          }
          &:hover {
            transform: scale(1.1);
          }

          &:active {
            transform: scale(0.9);
          }
        }

        &:hover {
          .logout-btn {
            opacity: 1;
            transform: scale(1);
          }
        }
      }
    }
    .add-account-btn {
      margin: 10px auto;
      padding: 8px;
      border-radius: 50%;
      background-color: rgba(255, 255, 255, 0.1);
      transition: all 0.3s ease;
      &:hover {
        background-color: rgba(255, 255, 255, 0.2);
        transform: scale(1.1);
      }
    }
  }
  .messageList {
    width: 350px;
    background-color: #f5f5f5;
    box-shadow: 2px 0 8px rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: column;
    position: relative;

    &-header {
      width: 100%;
      min-height: 71px;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 15px 20px;
      background-color: #fff;
      border-bottom: 1px solid #eaeaea;
      position: sticky;
      top: 0;
      z-index: 10;

      .search-container {
        width: 100%;
        max-width: 300px;
        position: relative;

        .search-input {
          :deep(.el-input__wrapper) {
            background-color: #f5f5f5;
            border-radius: 20px;
            box-shadow: none;
            padding: 0 15px;
            height: 40px;
            transition: all 0.3s ease;

            &:hover {
              background-color: #eaeaea;
            }

            &:focus-within {
              background-color: #fff;
              box-shadow: 0 0 0 1px #44cb84;
            }
          }

          :deep(.el-input__suffix) {
            color: #909399;
          }
        }
      }
    }

    &-icon {
      display: flex;
      align-items: center;
      justify-content: space-around;
      padding: 15px 0;
      background-color: #fff;
      border-bottom: 1px solid #eaeaea;
      position: sticky;
      top: 70px;
      z-index: 9;

      .icon-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 6px;
        cursor: pointer;
        padding: 8px 16px;
        border-radius: 8px;
        transition: all 0.3s ease;
        position: relative;

        img {
          width: 24px;
          height: 24px;
          transition: all 0.3s ease;
        }

        .icon-label {
          font-size: 12px;
          color: #909399;
          transition: all 0.3s ease;
        }

        &:hover {
          background-color: #f5f5f5;

          img {
            transform: scale(1.1);
          }
        }

        &.active {
          background-color: #f0f9f4;

          .icon-label {
            color: #44cb84;
            font-weight: 500;
          }

          &::after {
            content: '';
            position: absolute;
            bottom: -2px;
            left: 50%;
            transform: translateX(-50%);
            width: 20px;
            height: 3px;
            background: linear-gradient(90deg, #44cb84, #2b7bef);
            border-radius: 3px;
          }
        }
      }
    }
  }
  .messageContent {
    flex: 1;
    width: 100%;
    background-color: #f6f6f6;
    display: flex;
    flex-direction: column;
    position: relative;
    border-left: 1px solid #dccfcf;
    :deep(.el-textarea__inner:hover) {
      box-shadow: none !important;
    }
    :deep(.el-textarea__inner:focus) {
      box-shadow: none !important;
    }
    :deep(.el-textarea__inner) {
      box-shadow: none !important;
    }
    &-header {
      height: 71px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 0 20px;
      color: #8e8e8e;
      border-bottom: 1px solid #dccfcf;
      &-name {
        font-size: 18px;
        font-weight: 600;
      }
      &-msg {
        display: flex;
        align-items: center;
        &-sex {
          margin-right: 20px;
        }
      }
    }
    &-body {
      display: flex;
      flex-direction: column;
      // 没有撤回引用功能的时候加上这个
      margin: 8px 0;
      &-time {
        font-size: 12px;
        color: #8e8e8e;
        margin-bottom: 20px;
        background-color: #dbdbdb;
        padding: 3px 5px;
        color: #fff;
        border-radius: 3px;
        margin: 10px 0;
        width: fit-content;
        margin-left: 50%;
        transform: translateX(-50%);
      }
      &-msgleft {
        display: flex;
        margin: 3px 0;
        &-avatar {
          width: 40px;
          height: 40px;
          margin: 0 15px 0 30px;
          img {
            border-radius: 5px;
          }
        }
        &-textcontet {
          max-width: 70%;
          display: flex;
          flex-direction: column;
          &-textbox {
            display: flex;

            &-text {
              width: fit-content;
              max-width: 100%;
              background-color: #fff;
              padding: 8px 10px;
              border-radius: 5px;
              position: relative;
              margin-right: 10px;
              &:before {
                content: '';
                position: absolute;
                left: -8px;
                top: 14px;
                width: 0;
                height: 0;
                border-top: 7px solid transparent;
                border-right: 8px solid #fff;
                border-bottom: 7px solid transparent;
              }
            }
          }
          &-aiMessage {
            font-size: 12px;
            padding: 4px 8px;
            margin-top: 6px;
            background: rgba(68, 203, 132, 0.1);
            border-radius: 4px;
            color: #44cb84;
            cursor: pointer;
            transition: all 0.2s ease;

            &:hover {
              background: rgba(68, 203, 132, 0.15);
            }
          }
        }
        &-img {
          width: 20%;
          border-radius: 10px;
          &-imgs {
            border-radius: 5px;
          }
        }
      }
      &-msgright {
        display: flex;
        flex-direction: row-reverse;
        margin: 3px 0;
        &-avatar {
          width: 40px;
          height: 40px;
          margin: 0 30px 0 15px;
          img {
            border-radius: 5px;
          }
        }
        &-textcontet {
          max-width: 70%;
          display: flex;
          flex-direction: column;
          align-items: flex-end;
          &-textbox {
            display: flex;
            justify-content: flex-end;

            &-text {
              max-width: 100%;
              background-color: #95ec69;
              padding: 8px 10px;
              border-radius: 5px;
              position: relative;
              &:before {
                content: '';
                position: absolute;
                right: -8px;
                top: 14px;
                width: 0;
                height: 0;
                border-top: 7px solid transparent;
                border-left: 8px solid #95ec69;
                border-bottom: 7px solid transparent;
              }
            }
          }
        }

        &-img {
          width: 20%;
          &-imgs {
            border-radius: 5px;
          }
        }
      }
    }
    &-bodyinput {
      background-color: #fff;
      position: absolute;
      bottom: 0;
      height: 227px;
      width: 100%;
      &-icon {
        height: 50px;
        display: flex;
        align-items: center;
        padding: 0 20px;
        img {
          width: 22px;
          height: 22px;
          margin-right: 15px;
          cursor: pointer;
        }
      }
      &-btn {
        display: flex;
        justify-content: flex-end;
        position: absolute;
        bottom: 5px;
        right: 5px;
      }
    }
  }
  .mySelfData {
    width: 400px;
    background-color: #f6f6f6;
    border-left: 1px solid #dccfcf;
    box-shadow: -2px 0 8px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;

    .custom-style {
      :deep(.el-segmented) {
        --el-segmented-item-selected-bg-color: #44cb84;
        --el-segmented-item-hover-color: #44cb84;
        --el-segmented-item-hover-bg-color: rgba(68, 203, 132, 0.1);
        width: 100%;
        height: 71px;
        border-radius: 4px;
        overflow: hidden;
        box-shadow: none;
        border: 1px solid #e4e7ed;
        background-color: #f5f7fa;

        .el-segmented__item {
          font-size: 14px;
          padding: 0 15px;
          height: 65px !important;
          line-height: 65px !important;
          transition: all 0.2s ease;
          position: relative;
          z-index: 1;

          &:hover {
            color: #44cb84;
          }
          &.el-segmented__item {
            height: 44px;
          }
          &.is-selected {
            color: #fff;
            font-weight: 500;
            box-shadow: 0 2px 4px rgba(68, 203, 132, 0.2);
          }
        }

        .el-segmented__item-selected {
          background: linear-gradient(135deg, #44cb84 0%, #2b7bef 100%);
          border: none;
        }
      }
    }

    &-myself {
      background-color: #f6f6f6;
      height: calc(100vh - 73px);
      padding: 12px;
      overflow-y: auto;

      &::-webkit-scrollbar {
        width: 4px;
      }

      &::-webkit-scrollbar-thumb {
        background-color: #e0e0e0;
        border-radius: 2px;
      }

      &::-webkit-scrollbar-track {
        background-color: #f5f5f5;
      }

      &-header {
        display: flex;
        align-items: center;
        padding: 15px 20px;
        background-color: #fff;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
        border-radius: 8px;
        position: relative;
        overflow: hidden;
        margin-bottom: 12px;

        &-avatar {
          width: 60px;
          height: 60px;
          border-radius: 50%;
          margin-right: 15px;
          border: 2px solid #fff;
          box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        }

        &-content {
          &-name {
            font-size: 16px;
            font-weight: 600;
            color: #333;
            margin-bottom: 4px;
          }
        }
      }

      &-center {
        background-color: #fff;
        border-radius: 8px;
        padding: 15px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);

        .section-title {
          display: flex;
          align-items: center;
          justify-content: space-between;
          font-size: 14px;
          font-weight: 600;
          color: #333;
          margin-bottom: 12px;
          padding-left: 8px;
          border-left: 3px solid #44cb84;
        }

        &-item {
          width: 25%;
          display: flex;
          justify-content: center;
          align-items: center;
          flex-direction: column;
          font-size: 13px;
          transition: all 0.2s ease;

          &:last-child {
            border-bottom: none;
          }

          &-left {
            color: #666;
            font-weight: 500;
          }

          &-right {
            color: #333;
            font-weight: 500;
            max-width: 60%;
            text-align: right;
            word-break: break-all;
          }
        }
      }
    }
  }
}

.chat-container {
  display: flex;
  flex-direction: column;
  height: 100vh;
  background-color: #1e1e1e;
  color: #e0e0e0;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}

/* 标签栏样式 */
.tabs {
  display: flex;
  overflow-x: auto;
  border-bottom: 1px solid #2c2c2c;
  scrollbar-width: none; /* Firefox */
}

.tabs::-webkit-scrollbar {
  display: none; /* Chrome, Safari, Edge */
}

.tab {
  padding: 12px 16px;
  white-space: nowrap;
  font-size: 14px;
  color: #8e8e8e;
  cursor: pointer;
}

.tab.active {
  color: #2b7bef;
}

/* 聊天列表样式 */
.chat-list {
  flex: 1;
  overflow-y: auto;
}

.section-header {
  display: flex;
  align-items: center;
  // padding: 8px 16px;
  font-size: 12px;
  color: #8e8e8e;
  cursor: pointer;
}
.section-headerBtn {
  padding: 15px;
  background-color: #fff;
  border-bottom: 1px solid #eaeaea;
  display: flex;
  justify-content: center;
  gap: 12px;

  .create-group-btn {
    width: 100%;
    max-width: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 20px;
    padding: 12px 24px;
    font-weight: 500;
    transition: all 0.3s ease;
    background: linear-gradient(135deg, #44cb84 0%, #2b7bef 100%);
    border: none;

    .el-icon {
      font-size: 16px;
    }

    &:hover {
      transform: translateY(-2px);
      box-shadow: 0 4px 12px rgba(68, 203, 132, 0.2);
      background: linear-gradient(135deg, #3dbd7a 0%, #256fd8 100%);
    }
  }

  .group-action-buttons {
    display: flex;
    gap: 12px;
    width: 100%;
    max-width: 200px;

    .confirm-btn,
    .cancel-btn {
      flex: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
      border-radius: 20px;
      padding: 12px 20px;
      font-weight: 500;
      transition: all 0.3s ease;
      border: none;

      .el-icon {
        font-size: 16px;
      }

      &:hover {
        transform: translateY(-2px);
      }
    }

    .confirm-btn {
      background: linear-gradient(135deg, #67c23a 0%, #85ce61 100%);

      &:hover {
        background: linear-gradient(135deg, #5daf34 0%, #7ab956 100%);
        box-shadow: 0 4px 12px rgba(103, 194, 58, 0.2);
      }
    }

    .cancel-btn {
      background: linear-gradient(135deg, #f56c6c 0%, #ff7875 100%);

      &:hover {
        background: linear-gradient(135deg, #e64242 0%, #ff6666 100%);
        box-shadow: 0 4px 12px rgba(245, 108, 108, 0.2);
      }
    }
  }
}

.section-icon {
  margin-right: 4px;
}

.section-count {
  margin-left: 4px;
  color: #666;
}

/* 联系人样式 */
.contacts {
  display: flex;
  flex-direction: column;
  background-color: #fff;
  height: calc(100vh - 170px);
  overflow-y: auto;

  /* 搜索无结果状态样式 */
  .empty-search-result {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 200px;
    padding: 20px;

    :deep(.el-empty) {
      .el-empty__image {
        margin-bottom: 16px;
      }

      .el-empty__description {
        color: #909399;
        font-size: 14px;
      }
    }
  }
  overflow-x: hidden;

  &::-webkit-scrollbar {
    width: 6px;
  }

  &::-webkit-scrollbar-thumb {
    background-color: #e0e0e0;
    border-radius: 3px;
  }

  &::-webkit-scrollbar-track {
    background-color: #f5f5f5;
  }

  .section {
    background-color: #fff;
    border-radius: 8px;
    // overflow-y: hidden;

    .section-header {
      display: flex;
      align-items: center;
      padding: 12px 16px;
      background-color: #f8f9fa;
      cursor: pointer;
      transition: all 0.3s ease;

      &:hover {
        background-color: #f0f2f5;
      }

      .section-icon {
        margin-right: 8px;
        color: #909399;
        display: flex;
        align-items: center;
      }

      .section-title {
        flex: 1;
        font-size: 14px;
        font-weight: 500;
        color: #333;
      }

      .section-count {
        font-size: 12px;
        color: #909399;
        background-color: #e4e7ed;
        padding: 2px 8px;
        border-radius: 10px;
      }
    }

    .contact-item {
      display: flex;
      padding: 12px 16px;
      cursor: pointer;
      align-items: center;
      transition: all 0.1s ease;
      position: relative;
      border-bottom: 1px solid #f0f2f5;

      &:last-child {
        border-bottom: none;
      }

      &:hover {
        background-color: #f5f7fa;
        transform: translateX(5px);
      }

      &.contact-activeItem {
        background-color: #f0f9f4;
        border-left: 3px solid #44cb84;
      }

      .avatar-itemTips {
        margin-right: 12px;

        :deep(.el-badge__content) {
          background: #f56c6c;
          // border: none;
          box-shadow: 0 2px 6px rgba(68, 203, 132, 0.3);
        }
      }

      .avatar-container {
        position: relative;
        width: 48px;
        height: 48px;
        margin-right: 12px;
        border-radius: 8px;
        overflow: hidden;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        transition: all 0.3s ease;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: #f5f5f5;

        &:hover {
          transform: scale(1.05);
        }

        .avatar {
          width: 100%;
          height: 100%;
          object-fit: cover;
        }
      }

      .contact-info {
        flex: 1;
        min-width: 0;
        overflow: hidden;

        .contact-header {
          display: flex;
          justify-content: space-between;
          align-items: center;
          margin-bottom: 4px;

          .contact-name {
            font-weight: 500;
            color: #333;
            font-size: 14px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
          }

          .contact-time {
            font-size: 12px;
            color: #909399;
            white-space: nowrap;
            margin-left: 8px;
          }
        }

        .contact-status {
          font-size: 13px;
          color: #909399;
          white-space: nowrap;
          overflow: hidden;
          text-overflow: ellipsis;
        }
      }
    }
  }
}

.online-indicator {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 10px;
  height: 10px;
  background-color: #4caf50;
  border-radius: 50%;
  border: 2px solid #1e1e1e;
}

.message-actions {
  display: flex;
  gap: 8px;
  margin-top: 6px;
  padding: 2px 6px;
  background: rgba(0, 0, 0, 0.03);
  border-radius: 4px;
  width: fit-content;
  transition: all 0.2s ease;
  opacity: 0;
  transform: translateY(-4px);

  .action-item {
    display: flex;
    align-items: center;
    gap: 3px;
    padding: 2px 6px;
    border-radius: 3px;
    cursor: pointer;
    font-size: 12px;
    color: #666;
    transition: all 0.2s ease;
    white-space: nowrap;

    &:hover {
      background: rgba(68, 203, 132, 0.1);
      color: #44cb84;
    }

    .el-icon {
      font-size: 12px;
    }
  }
}

.messageContent-body-msgleft:hover .message-actions,
.messageContent-body-msgright:hover .message-actions {
  opacity: 1;
  transform: translateY(0);
}

.message-checkbox {
  margin: 0 8px;
  :deep(.el-checkbox__inner) {
    border-radius: 50%;
    border-color: #44cb84;
    &:hover {
      border-color: #2b7bef;
    }
  }
  :deep(.el-checkbox__input.is-checked .el-checkbox__inner) {
    background-color: #44cb84;
    border-color: #44cb84;
  }
  :deep(.el-checkbox__input.is-checked + .el-checkbox__label) {
    color: #44cb84;
  }
}

.check-more-btn {
  margin-left: 10px;
  border-radius: 20px;
  padding: 8px 20px;
  font-weight: 500;
  transition: all 0.3s ease;

  &:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(68, 203, 132, 0.2);
  }

  &.el-button--primary {
    background: linear-gradient(135deg, #44cb84 0%, #2b7bef 100%);
    border: none;

    &:hover {
      background: linear-gradient(135deg, #3dbd7a 0%, #256fd8 100%);
    }
  }

  &.el-button--danger {
    background: linear-gradient(135deg, #ff4d4f 0%, #ff7875 100%);
    border: none;

    &:hover {
      background: linear-gradient(135deg, #ff3333 0%, #ff6666 100%);
    }
  }
}

.message-actions-buttons {
  display: flex;
  gap: 8px;
  padding: 6px 12px;
  background-color: rgba(255, 255, 255, 0.8);
  border-bottom: 1px solid #eaeaea;

  .action-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    border-radius: 12px;
    padding: 4px 8px;
    font-size: 12px;
    font-weight: normal;
    transition: all 0.2s ease;
    border: none;
    height: 28px;

    .el-icon {
      font-size: 12px;
    }

    &:hover {
      transform: translateY(-1px);
    }

    &.read-all-btn {
      background: rgba(68, 203, 132, 0.1);
      color: #44cb84;

      &:hover {
        background: rgba(68, 203, 132, 0.15);
      }
    }

    &.unread-btn {
      background: rgba(144, 147, 153, 0.1);
      color: #909399;

      &:hover {
        background: rgba(144, 147, 153, 0.15);
      }
    }
  }
}

.messageContent-bodyinput-icon {
  &-select {
    margin-left: 10px;

    .ai-reply-select {
      width: 120px;

      :deep(.el-input__wrapper) {
        background-color: #f5f5f5;
        border-radius: 20px;
        box-shadow: none;
        padding: 0 15px;
        height: 32px;
        transition: all 0.3s ease;

        &:hover {
          background-color: #eaeaea;
        }

        &:focus-within {
          background-color: #fff;
          box-shadow: 0 0 0 1px #44cb84;
        }
      }

      :deep(.el-input__inner) {
        font-size: 13px;
        color: #606266;
      }
    }
  }
}

.qrcode-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20px;

  .qrcode-wrapper {
    width: 400px;
    height: 400px;
    background: #fff;
    border: 1px solid #e4e7ed;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin-bottom: 20px;

    .qrcode-loading {
      display: flex;
      flex-direction: column;
      align-items: center;
      color: #909399;

      .loading-icon {
        font-size: 32px;
        margin-bottom: 12px;
        animation: rotating 2s linear infinite;
      }
    }

    .qrcode-content {
      display: flex;
      flex-direction: column;
      align-items: center;

      .qrcode-image {
        width: 250px;
        height: 250px;
        margin-bottom: 12px;
      }

      .qrcode-tip {
        font-size: 14px;
        color: #606266;
        margin-bottom: 8px;
      }

      .qrcode-countdown {
        font-size: 12px;
        color: #e6a23c;
        background: #fdf6ec;
        padding: 4px 12px;
        border-radius: 12px;
        border: 1px solid #f5dab1;
        animation: pulse 1s ease-in-out infinite alternate;

        span {
          font-weight: 500;
        }
      }
    }

    .qrcode-error {
      display: flex;
      flex-direction: column;
      align-items: center;
      color: #e6a23c;
      padding: 20px;

      .error-icon {
        font-size: 32px;
        margin-bottom: 12px;
      }

      span {
        margin-bottom: 16px;
      }

      .refresh-btn {
        display: flex;
        align-items: center;
        gap: 4px;
        background: linear-gradient(135deg, #44cb84 0%, #2b7bef 100%);
        border: none;
        padding: 8px 16px;
        border-radius: 20px;
        transition: all 0.3s ease;

        &:hover {
          transform: translateY(-2px);
          box-shadow: 0 4px 12px rgba(68, 203, 132, 0.2);
        }

        .el-icon {
          font-size: 14px;
        }
      }
    }

    .qrcode-expired {
      display: flex;
      flex-direction: column;
      align-items: center;
      color: #f56c6c;
      padding: 20px;

      .expired-icon {
        font-size: 32px;
        margin-bottom: 12px;
        color: #f56c6c;
      }

      span {
        margin-bottom: 16px;
      }

      .refresh-btn {
        display: flex;
        align-items: center;
        gap: 4px;
        background: linear-gradient(135deg, #44cb84 0%, #2b7bef 100%);
        border: none;
        padding: 8px 16px;
        border-radius: 20px;
        transition: all 0.3s ease;

        &:hover {
          transform: translateY(-2px);
          box-shadow: 0 4px 12px rgba(68, 203, 132, 0.2);
        }

        .el-icon {
          font-size: 14px;
        }
      }
    }
  }

  .qrcode-status {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;

    .el-icon {
      font-size: 18px;
    }
  }
}

@keyframes rotating {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.tags-container {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px;

  .tag-item {
    background-color: rgba(68, 203, 132, 0.1);
    border-color: #44cb84;
    color: #44cb84;
    font-size: 12px;
    padding: 0 8px;
    height: 24px;
    line-height: 24px;
    transition: all 0.3s ease;

    &:hover {
      background-color: rgba(68, 203, 132, 0.15);
      transform: translateY(-1px);
    }

    :deep(.el-tag__close) {
      color: #44cb84;
      &:hover {
        background-color: rgba(68, 203, 132, 0.2);
      }
    }
  }
  .no-tags {
    width: 100%;
    text-align: center;
  }
  .add-tag-btn {
    display: flex;
    align-items: center;
    gap: 4px;
    border-color: #44cb84;
    color: #44cb84;
    font-size: 12px;
    padding: 0 12px;
    height: 24px;
    transition: all 0.3s ease;

    &:hover {
      background-color: rgba(68, 203, 132, 0.1);
      transform: translateY(-1px);
    }
  }
}

.tag-dialog-content {
  .tag-suggestions {
    margin-bottom: 20px;

    .suggestion-title {
      font-size: 14px;
      color: #606266;
      margin-bottom: 12px;
    }

    .suggestion-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;

      .suggestion-tag {
        cursor: pointer;
        transition: all 0.3s ease;

        &:hover {
          transform: translateY(-1px);
        }

        &.is-selected {
          background-color: rgba(68, 203, 132, 0.1);
          border-color: #44cb84;
          color: #44cb84;
        }
      }
    }
  }

  .tag-input {
    :deep(.el-input__wrapper) {
      box-shadow: 0 0 0 1px #dcdfe6 inset;

      &:hover {
        box-shadow: 0 0 0 1px #44cb84 inset;
      }

      &.is-focus {
        box-shadow: 0 0 0 1px #44cb84 inset;
      }
    }

    :deep(.el-input__prefix) {
      color: #909399;
    }
  }
}

.dialog-footer {
  display: flex;
  justify-content: flex-end;
  // gap: 12px;
}

.timeline-container {
  padding: 8px;

  .timeline-content {
    .timeline-title {
      font-size: 13px;
      font-weight: 500;
      color: #333;
      margin-bottom: 2px;
      display: flex;
      align-items: center;
      gap: 6px;

      &::before {
        content: '';
        display: inline-block;
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background-color: currentColor;
      }
    }

    .timeline-desc {
      font-size: 12px;
      color: #666;
      line-height: 1.4;
      padding-left: 12px;
    }
  }

  :deep(.el-timeline-item__node) {
    width: 8px;
    height: 8px;
  }

  :deep(.el-timeline-item__timestamp) {
    color: #909399;
    font-size: 12px;
    padding-top: 0;
  }

  :deep(.el-timeline-item__content) {
    padding-left: 12px;
  }

  :deep(.el-timeline-item__tail) {
    left: 3px;
  }

  :deep(.el-timeline-item) {
    padding-bottom: 16px;

    &:last-child {
      padding-bottom: 0;
    }
  }
}

// 为不同类型的时间轴项添加不同的颜色
.timeline-container {
  :deep(.el-timeline-item) {
    &[data-type='success'] {
      .timeline-title {
        color: #44cb84;
      }
    }
    &[data-type='primary'] {
      .timeline-title {
        color: #2b7bef;
      }
    }
    &[data-type='warning'] {
      .timeline-title {
        color: #e6a23c;
      }
    }
    &[data-type='danger'] {
      .timeline-title {
        color: #f56c6c;
      }
    }
  }
}

.suggestion-tag {
  position: relative;
  padding-right: 24px;

  .check-icon {
    position: absolute;
    right: 4px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 12px;
  }
}

// 聊天记录查询条件样式
.chat-search-conditions {
  margin-bottom: 16px;

  .el-collapse {
    border: none;

    :deep(.el-collapse-item__header) {
      background-color: #f8f9fa;
      border: 1px solid #e9ecef;
      border-radius: 6px 6px 0 0;
      padding: 0 16px;
      font-weight: 500;
      color: #495057;

      &:hover {
        background-color: #e9ecef;
      }
    }

    :deep(.el-collapse-item__content) {
      border: 1px solid #e9ecef;
      border-top: none;
      border-radius: 0 0 6px 6px;
      padding: 16px;
      background-color: #fff;
    }

    :deep(.el-collapse-item__wrap) {
      border: none;
    }
  }

  .search-form {
    .search-row {
      margin-bottom: 12px;

      .el-form-item {
        margin-bottom: 0;

        :deep(.el-form-item__label) {
          font-weight: 500;
          color: #495057;
          font-size: 14px;
          width: 80px;
        }

        :deep(.el-form-item__content) {
          margin-left: 20px;
        }
      }
    }

    .search-buttons {
      margin-top: 16px;
      padding-top: 16px;
      border-top: 1px solid #e9ecef;
    }
  }
}

.chat-history-container {
  padding: 12px;
  max-height: calc(100vh - 190px); // 调整高度以适应查询条件
  overflow-y: auto;

  // 加载更多历史消息指示器
  .loading-more-history {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 20px;
    color: #409eff;
    font-size: 14px;
    background-color: #f0f9ff;
    border-radius: 6px;
    margin-bottom: 12px;

    .loading-icon {
      margin-right: 8px;
      animation: rotate 1s linear infinite;
    }
  }

  // 加载失败重试
  .load-error-history {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 20px;
    color: #f56c6c;
    font-size: 14px;
    background-color: #fef0f0;
    border-radius: 6px;
    margin-bottom: 12px;

    .el-button {
      margin-left: 8px;
      padding: 4px 8px;
      font-size: 12px;
    }
  }

  // 没有更多消息提示
  .no-more-messages-history {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 20px;
    color: #909399;
    font-size: 14px;
    background-color: #f5f7fa;
    border-radius: 6px;
    margin-bottom: 12px;
  }

  .chat-history-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    color: #909399;

    .el-icon {
      font-size: 24px;
      margin-bottom: 12px;
    }

    span {
      font-size: 14px;
    }
  }

  .chat-history-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
  }

  &::-webkit-scrollbar {
    width: 6px;
  }

  &::-webkit-scrollbar-thumb {
    background-color: #e0e0e0;
    border-radius: 3px;
  }

  &::-webkit-scrollbar-track {
    background-color: #f5f5f5;
  }

  // 旋转动画
  @keyframes rotate {
    from {
      transform: rotate(0deg);
    }
    to {
      transform: rotate(360deg);
    }
  }

  .chat-history-item {
    margin-bottom: 16px;

    .chat-history-time {
      text-align: center;
      font-size: 12px;
      color: #909399;
      margin: 8px 0;
    }

    .chat-history-content {
      display: flex;
      align-items: flex-start;
      gap: 8px;

      &.right {
        flex-direction: row-reverse;

        .chat-history-message {
          background-color: #95ec69;
          border-radius: 8px 0 8px 8px;

          &:before {
            content: '';
            position: absolute;
            right: -8px;
            top: 14px;
            width: 0;
            height: 0;
            border-top: 7px solid transparent;
            border-left: 8px solid #95ec69;
            border-bottom: 7px solid transparent;
          }
        }
      }

      &.left {
        .chat-history-message {
          background-color: #f8f3f3;
          border-radius: 0 8px 8px 8px;

          &:before {
            content: '';
            position: absolute;
            left: -8px;
            top: 14px;
            width: 0;
            height: 0;
            border-top: 7px solid transparent;
            border-right: 8px solid #f8f3f3;
            border-bottom: 7px solid transparent;
          }
        }
      }

      .chat-history-avatar {
        width: 40px;
        height: 40px;
        border-radius: 4px;
        overflow: hidden;

        img {
          width: 100%;
          height: 100%;
          object-fit: cover;
        }
      }

      .chat-history-message {
        position: relative;
        padding: 8px 12px;
        max-width: 70%;
        word-break: break-word;

        .chat-history-image {
          max-width: 200px;

          :deep(.el-image) {
            border-radius: 4px;
            overflow: hidden;
          }
        }
      }
    }
  }
}

.chat-search {
  margin-bottom: 16px;
  padding: 0 12px;

  :deep(.el-input__wrapper) {
    background-color: #f5f5f5;
    border-radius: 20px;
    box-shadow: none;
    padding: 0 15px;
    height: 36px;
    transition: all 0.3s ease;

    &:hover {
      background-color: #eaeaea;
    }

    &:focus-within {
      background-color: #fff;
      box-shadow: 0 0 0 1px #44cb84;
    }
  }

  :deep(.el-input__prefix) {
    color: #909399;
  }
}

.login-tip {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f6f6f6;
  height: 100vh;

  &-content {
    text-align: center;
    padding: 40px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
    max-width: 400px;
    width: 90%;

    .login-icon {
      font-size: 64px;
      color: #44cb84;
      margin-bottom: 24px;
    }

    h2 {
      font-size: 24px;
      color: #333;
      margin-bottom: 16px;
      font-weight: 600;
    }

    p {
      font-size: 16px;
      color: #666;
      margin-bottom: 32px;
    }

    .login-btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 12px 32px;
      font-size: 16px;
      border-radius: 24px;
      background: linear-gradient(135deg, #44cb84 0%, #2b7bef 100%);
      border: none;
      transition: all 0.3s ease;

      &:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(68, 203, 132, 0.2);
      }

      .el-icon {
        font-size: 18px;
      }
    }
  }
}

.loading-more {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  color: #909399;
  font-size: 13px;

  .loading-icon {
    margin-right: 8px;
    animation: rotating 2s linear infinite;
  }
}

.no-more-messages {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  color: #c0c4cc;
  font-size: 12px;
  border-bottom: 1px solid #f0f0f0;
  background-color: #fafafa;

  span {
    position: relative;
    padding: 0 16px;
    background-color: #fafafa;

    &::before,
    &::after {
      content: '';
      position: absolute;
      top: 50%;
      width: 30px;
      height: 1px;
      background-color: #e4e7ed;
    }

    &::before {
      left: -46px;
    }

    &::after {
      right: -46px;
    }
  }
}

.load-error {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  color: #f56c6c;
  font-size: 13px;
  background-color: #fef0f0;
  border: 1px solid #fbc4c4;
  border-radius: 4px;
  margin: 8px 16px;

  span {
    margin-right: 8px;
  }

  .el-button {
    color: #409eff;
    font-size: 12px;
    padding: 0;

    &:hover {
      color: #66b1ff;
    }
  }
}

@keyframes rotating {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.group-avatar {
  display: grid;
  gap: 1px;
  border-radius: 8px;
  overflow: hidden;
  padding: 2px;
  place-items: center;

  &.avatar-count-1 {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
  }

  &.avatar-count-2 {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 1fr;
  }

  &.avatar-count-3 {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);

    .group-avatar-item {
      width: 100%;
      height: 100%;

      &:first-child {
        grid-column: 1 / -1;
        width: 50%;
        margin: 0 auto;
      }
    }
  }

  &.avatar-count-4 {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
  }

  &.avatar-count-5 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 2px;

    .group-avatar-item {
      width: 100%;
      height: 100%;

      &:nth-child(1) {
        grid-column: 1 / 2;
        transform: translateX(50%);
      }
      &:nth-child(2) {
        grid-column: 2 / 3;
        transform: translateX(50%);
      }
      &:nth-child(3) {
        grid-column: 1 / 2;
      }
      &:nth-child(4) {
        grid-column: 2 / 3;
      }
      &:nth-child(5) {
        grid-column: 3 / 4;
      }
    }
  }

  &.avatar-count-6 {
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 1fr);
  }

  &.avatar-count-7 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(3, 1fr);
    gap: 2px;

    .group-avatar-item {
      width: 100%;
      height: 100%;

      &:nth-child(1) {
        grid-column: 2 / 3; // 第一行居中
      }
      &:nth-child(2) {
        grid-column: 1 / 2;
      }
      &:nth-child(3) {
        grid-column: 2 / 3;
      }
      &:nth-child(4) {
        grid-column: 3 / 4;
      }
      &:nth-child(5) {
        grid-column: 1 / 2;
      }
      &:nth-child(6) {
        grid-column: 2 / 3;
      }
      &:nth-child(7) {
        grid-column: 3 / 4;
      }
    }
  }

  &.avatar-count-8 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(3, 1fr);

    .group-avatar-item {
      width: 100%;
      height: 100%;

      &:nth-child(1) {
        grid-column: 1 / 2;
        transform: translateX(50%);
      }
      &:nth-child(2) {
        grid-column: 2 / 3;
        transform: translateX(50%);
      }
      &:nth-child(3) {
        grid-column: 1 / 2;
      }
      &:nth-child(4) {
        grid-column: 2 / 3;
      }
      &:nth-child(5) {
        grid-column: 3 / 4;
      }
      &:nth-child(6) {
        grid-column: 1 / 2;
      }
      &:nth-child(7) {
        grid-column: 2 / 3;
      }
      &:nth-child(8) {
        grid-column: 3 / 4;
      }
    }
  }
  &.avatar-count-9 {
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(3, 1fr);
  }
  .group-avatar-item {
    width: 100%;
    overflow: hidden;
    border-radius: 2px;
    display: flex;
    align-items: center;
    justify-content: center;

    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }
}

.contacts {
  .section {
    .section-header {
      display: flex;
      align-items: center;
      padding: 8px 16px;
      background-color: #f7f7f7;
      border-bottom: 1px solid #e6e6e6;

      .section-title {
        font-size: 13px;
        color: #666;
        font-weight: 500;
      }

      .section-count {
        margin-left: 4px;
        color: #999;
        font-size: 12px;
      }
    }

    .section-content {
      .contact-item {
        display: flex;
        align-items: center;
        padding: 10px 16px;
        border-bottom: 1px solid #f0f0f0;
        transition: all 0.3s ease;
        cursor: pointer;

        &:hover {
          background-color: #f5f5f5;
        }

        .contact-avatar {
          margin-right: 12px;
          flex-shrink: 0;
          border-radius: 4px;
          width: 48px;
          height: 48px;
          overflow: hidden;

          :deep(.el-avatar) {
            width: 100%;
            height: 100%;
          }

          img {
            width: 100%;
            height: 100%;
            object-fit: cover;
          }
        }

        .contact-info {
          flex: 1;
          min-width: 0;
          overflow: hidden;

          .contact-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 4px;

            .contact-name {
              font-size: 14px;
              color: #333;
              font-weight: 400;
              white-space: nowrap;
              overflow: hidden;
              text-overflow: ellipsis;
            }

            .contact-time {
              font-size: 12px;
              color: #999;
              flex-shrink: 0;
              margin-left: 8px;
            }
          }

          .contact-status {
            font-size: 12px;
            color: #999;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;

            &.status-pending {
              color: #409eff;
            }
          }
        }

        .contact-actions {
          margin-left: 12px;
          flex-shrink: 0;

          .el-button {
            padding: 6px 12px;
            font-size: 12px;
          }
        }
      }
    }

    .empty-state {
      padding: 32px 0;
      text-align: center;
      color: #999;
      background-color: #fff;
    }
  }
}

@mixin text-ellipsis {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.add-friend-dialog {
  .el-form {
    padding: 0 20px;
  }

  .search-result {
    margin: 16px 0;
    padding: 16px;
    background-color: #f7f7f7;
    border-radius: 4px;

    .user-info {
      display: flex;
      align-items: flex-start;
      gap: 12px;

      .user-avatar {
        flex-shrink: 0;
      }

      .user-detail {
        flex: 1;
        min-width: 0;

        .user-name {
          font-size: 16px;
          color: #333;
          font-weight: 500;
          margin-bottom: 8px;
        }

        .user-info-row {
          display: flex;
          align-items: center;
          gap: 12px;
          margin-bottom: 4px;

          .user-wxid {
            font-size: 13px;
            color: #666;
          }

          .user-gender {
            font-size: 13px;
            color: #666;
          }
        }

        .user-location {
          font-size: 13px;
          color: #666;
          margin-bottom: 8px;
        }

        .user-status {
          margin-top: 8px;
        }
      }
    }
  }
}

.icon-wrapper {
  position: relative;
  display: inline-block;
}

.icon-badge {
  position: absolute;
  top: -8px;
  right: -8px;
}

.iconList {
  .icon-wrapper {
    position: relative;
    display: inline-block;
  }

  .icon-badge {
    position: absolute;
    top: -8px;
    right: -8px;
  }
}

// 转文字相关样式
.audio-container {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  position: relative;
  max-width: 400px;
  audio {
    flex: 1;
    // max-width: 200px;
  }

  .transcribe-btn {
    flex-shrink: 0;
    padding: 6px 8px;
    border-radius: 4px;
    font-size: 12px;
    transition: all 0.3s ease;
    opacity: 1;
    margin-left: 8px;

    &:hover {
      transform: scale(1.05);
    }

    .el-icon {
      font-size: 14px;
    }
  }

  // 左侧消息（别人发送的）- 按钮在右边
  &.left {
    .transcribe-btn {
      transform: translateX(-10px);
      margin-left: 8px;
      margin-right: 0;
    }

    // &:hover {
    //   .transcribe-btn {
    //     opacity: 1;
    //     transform: translateX(0);
    //   }
    // }
  }

  // 右侧消息（自己发送的）- 按钮在左边
  &.right {
    flex-direction: row-reverse;

    .transcribe-btn {
      transform: translateX(10px);
      margin-left: 0;
      margin-right: 8px;
    }

    // &:hover {
    //   .transcribe-btn {
    //     opacity: 1;
    //     transform: translateX(0);
    //   }
    // }
  }
}

.transcribed-text {
  margin-top: 8px;
  padding: 8px 12px;
  background-color: #f8f9fa;
  border-radius: 6px;
  border-left: 3px solid #44cb84;

  .transcribed-label {
    font-size: 12px;
    color: #666;
    font-weight: 500;
    margin-bottom: 4px;
  }

  .transcribed-content {
    font-size: 13px;
    color: #333;
    line-height: 1.4;
    word-break: break-word;
  }
}

// 聊天记录部分的音频容器悬浮效果
.chat-history-audio {
  .audio-container {
    position: relative;
  }
}
// 页面加载蒙版样式
.page-loading-mask {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(4px);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;

  .loading-content {
    text-align: center;
    padding: 40px;
    // background: #fff;
    border-radius: 16px;
    // box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
    // border: 1px solid rgba(255, 255, 255, 0.2);

    .loading-spinner {
      position: relative;
      width: 80px;
      height: 80px;
      margin: 0 auto 24px;

      .spinner-ring {
        position: absolute;
        width: 100%;
        height: 100%;
        border: 3px solid transparent;
        border-radius: 50%;
        animation: spin 1.5s linear infinite;

        &:nth-child(1) {
          border-top-color: #44cb84;
          animation-delay: 0s;
        }

        &:nth-child(2) {
          border-right-color: #2b7bef;
          animation-delay: 0.5s;
        }

        &:nth-child(3) {
          border-bottom-color: #e6a23c;
          animation-delay: 1s;
        }
      }
    }

    .loading-text {
      font-size: 16px;
      color: #333;
      font-weight: 500;
      margin-top: 16px;
    }
  }
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

// 空状态样式
.empty-activities {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 200px;
  padding: 40px 20px;

  .el-empty {
    .el-empty__image {
      opacity: 0.6;
    }

    .el-empty__description {
      margin-top: 16px;
    }
  }
}

// 时间线容器样式优化
.timeline-container {
  padding: 16px 0;

  .el-timeline {
    padding-left: 16px;
  }
}

.login-tip {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100vh;
  background: #f7f8fa;
}
.login-tip-content {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
  padding: 48px 40px 40px 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 340px;
}
.login-icon {
  font-size: 56px;
  color: #409eff;
  background: #e6f7ff;
  border-radius: 50%;
  padding: 18px;
  margin-bottom: 18px;
}
.login-tip-content h2 {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 10px;
  color: #222;
}
.login-tip-content p {
  color: #888;
  font-size: 15px;
  margin-bottom: 28px;
}
.login-btn {
  font-size: 16px;
  padding: 0 32px;
  height: 44px;
  border-radius: 24px;
  box-shadow: 0 2px 8px rgba(64, 158, 255, 0.08);
  display: flex;
  align-items: center;
  gap: 6px;
}

/* AI处理状态指示器样式 */
.ai-processing-indicator {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: 12px;
  padding: 6px 12px;
  background: linear-gradient(135deg, #e3f2fd 0%, #f3e5f5 100%);
  border-radius: 20px;
  border: 1px solid #e1bee7;
}

.ai-loading-spinner {
  display: flex;
  gap: 3px;
}

.spinner-dot {
  width: 6px;
  height: 6px;
  background: #9c27b0;
  border-radius: 50%;
  animation: ai-pulse 1.4s ease-in-out infinite both;
}

.spinner-dot:nth-child(1) {
  animation-delay: -0.32s;
}

.spinner-dot:nth-child(2) {
  animation-delay: -0.16s;
}

.spinner-dot:nth-child(3) {
  animation-delay: 0s;
}

@keyframes ai-pulse {
  0%,
  80%,
  100% {
    transform: scale(0.8);
    opacity: 0.5;
  }
  40% {
    transform: scale(1);
    opacity: 1;
  }
}

.ai-processing-text {
  font-size: 12px;
  color: #7b1fa2;
  font-weight: 500;
  white-space: nowrap;
}

/* 选择回复类型区域样式优化 */
.messageContent-bodyinput-icon-select {
  display: flex;
  align-items: center;
  gap: 8px;
}

.ai-reply-select {
  min-width: 120px;
}

/* 群聊操作区域样式 */
.group-actions {
  display: flex;
  flex-direction: row;
  gap: 12px;
  flex-wrap: wrap;

  .el-button {
    display: flex;
    align-items: center;
    gap: 6px;
    justify-content: center;
    padding: 8px 16px;
    border-radius: 6px;
    transition: all 0.3s ease;
    font-size: 14px;

    .el-icon {
      font-size: 16px;
    }

    &:hover {
      transform: translateY(-1px);
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    }
  }
}

/* 名称编辑按钮样式 */
.mySelfData-myself-header-content-name {
  display: flex;
  align-items: center;
  gap: 8px;

  .el-button {
    opacity: 0;
    transition: opacity 0.3s ease;
    padding: 2px 4px;

    &:hover {
      background-color: #f0f9ff;
    }
  }

  &:hover .el-button {
    opacity: 1;
  }
}

/* 群聊信息头部样式 */
.mySelfData-myself-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 24px 20px;
  border-bottom: 1px solid #e4e7ed;
  background: linear-gradient(135deg, #fafbfc 0%, #ffffff 100%);
  border-radius: 12px 12px 0 0;
  position: relative;

  // 添加微妙的阴影
  &::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #e4e7ed 50%, transparent 100%);
  }

  .mySelfData-myself-header-content {
    flex: 1;

    .mySelfData-myself-header-content-name {
      font-size: 20px;
      font-weight: 600;
      color: #303133;
      margin-bottom: 8px;
      line-height: 1.4;

      // 群名称的悬停效果
      &:hover {
        color: #409eff;
        transition: color 0.3s ease;
      }
    }

    > div:last-child {
      color: #909399;
      font-size: 14px;
      font-weight: 500;

      // 成员数量的图标
      &::before {
        content: '👥';
        margin-right: 6px;
        font-size: 12px;
      }
    }
  }

  // 右侧退出群聊按钮
  .exit-group-btn {
    opacity: 0.6;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    padding: 10px;
    border-radius: 8px;
    margin-left: 16px;
    position: relative;
    background-color: transparent;

    &:hover {
      opacity: 1;
      color: #f56c6c !important;
      background-color: #fef0f0 !important;
      transform: translateY(-2px) scale(1.05);
      box-shadow: 0 6px 16px rgba(245, 108, 108, 0.25);
    }

    &:active {
      transform: translateY(-1px) scale(1.02);
      box-shadow: 0 2px 8px rgba(245, 108, 108, 0.3);
    }

    &:focus {
      outline: none;
      box-shadow: 0 0 0 2px rgba(245, 108, 108, 0.2);
    }

    .el-icon {
      font-size: 18px;
      transition: transform 0.2s ease;
    }

    &:hover .el-icon {
      transform: rotate(90deg);
    }

    // 加载状态样式
    &.is-loading {
      opacity: 0.7;
      cursor: not-allowed;

      &:hover {
        transform: none;
        background-color: transparent !important;
      }
    }
  }
}

/* 文件消息样式 */
.messageContent-body-msgleft-file,
.messageContent-body-msgright-file,
.chat-history-file {
  .file-container {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    background-color: #f5f7fa;
    border-radius: 8px;
    border: 1px solid #e4e7ed;
    cursor: pointer;
    transition: all 0.2s ease;
    max-width: 280px;

    &:hover {
      background-color: #ecf5ff;
      border-color: #409eff;
      transform: translateY(-1px);
      box-shadow: 0 2px 8px rgba(64, 158, 255, 0.2);
    }

    &.left {
      .file-icon {
        margin-right: 12px;
        color: #409eff;
      }

      .file-info {
        flex: 1;
        margin-right: 8px;
      }

      .download-icon {
        color: #909399;

        &:hover {
          color: #409eff;
        }
      }
    }

    &.right {
      background-color: #409eff;
      color: white;
      border-color: #409eff;

      &:hover {
        background-color: #66b1ff;
      }

      .download-icon {
        margin-right: 8px;
        color: rgba(255, 255, 255, 0.8);

        &:hover {
          color: white;
        }
      }

      .file-info {
        flex: 1;
        margin-left: 8px;
      }

      .file-icon {
        margin-left: 12px;
        color: rgba(255, 255, 255, 0.9);
      }
    }

    .file-info {
      display: flex;
      flex-direction: column;
      min-width: 0;

      .file-name {
        font-size: 14px;
        font-weight: 500;
        line-height: 1.4;
        word-break: break-all;
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
      }

      .file-extension {
        font-size: 12px;
        opacity: 0.7;
        margin-top: 2px;
      }
    }

    .file-icon,
    .download-icon {
      flex-shrink: 0;
      transition: all 0.2s ease;
    }
  }
}

/* 聊天历史记录中的文件样式 */
.chat-history-file {
  .file-container {
    max-width: 240px;
    font-size: 13px;

    .file-info {
      .file-name {
        font-size: 13px;
      }

      .file-extension {
        font-size: 11px;
      }
    }
  }
}

@keyframes pulse {
  from {
    opacity: 0.7;
    transform: scale(0.98);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

// 基本信息紧凑布局样式（使用与客户标签一致的容器样式）
.mySelfData-myself-center {
  // 为基本信息添加特殊的header样式
  .section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;

    .section-title {
      // 保持与原有section-title一致的样式
      font-size: 14px;
      font-weight: 600;
      color: #333;
      padding-left: 8px;
      border-left: 3px solid #44cb84;
      margin-bottom: 0; // 重置margin
    }
  }

  // 紧凑的网格布局
  .info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0px 16px;

    .info-item {
      display: flex;
      align-items: center;
      min-height: 28px;
      font-size: 13px;
      padding: 4px 0; // 减少内边距

      &.info-item-full {
        grid-column: 1 / -1;
      }

      .info-label {
        width: 50px;
        color: #909399;
        font-weight: 500;
        flex-shrink: 0;
        margin-right: 12px;
        font-size: 12px;
        background-color: #f5f7fa;
        // padding: 2px 6px;
        border-radius: 4px;
        text-align: center;
        border: 1px solid #e4e7ed;
      }

      .info-value {
        color: #303133;
        flex: 1;
        word-break: break-all;
        line-height: 1.4;
        font-weight: 500;
        font-size: 13px;
      }
    }
  }
}

// 编辑客户对话框样式
.customer-dialog {
  .edit-form {
    .w-full {
      width: 100%;
    }

    // 为描述字段的textarea添加外边框
    .el-form-item:last-child {
      .el-textarea {
        .el-textarea__inner {
          border: 2px solid #409eff;
          border-radius: 6px;
          box-shadow: 0 0 0 2px rgba(64, 158, 255, 0.1);

          &:focus {
            border-color: #409eff;
            box-shadow: 0 0 0 2px rgba(64, 158, 255, 0.2);
          }
        }
      }
    }
  }
}

// 购买记录和用药提醒样式
.purchase-record-list {
  .record-items {
    .record-item {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 8px 12px;
      margin-bottom: 8px;
      background-color: #f8f9fa;
      border-radius: 6px;
      border: 1px solid #e9ecef;
      transition: all 0.2s ease;

      &:hover {
        background-color: #f0f9ff;
        border-color: #409eff;
        transform: translateY(-1px);
        box-shadow: 0 2px 8px rgba(64, 158, 255, 0.1);
      }

      &:last-child {
        margin-bottom: 0;
      }

      .record-content {
        flex: 1;
        min-width: 0;

        .record-main {
          display: flex;
          justify-content: space-between;
          align-items: center;
          margin-bottom: 4px;

          .product-name {
            font-size: 14px;
            font-weight: 500;
            color: #303133;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            max-width: 60%;
          }

          .purchase-date {
            font-size: 12px;
            color: #909399;
            white-space: nowrap;
          }
        }

        .record-details {
          display: flex;
          gap: 12px;
          font-size: 12px;
          color: #606266;

          .quantity {
            white-space: nowrap;
          }

          .shop-name {
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            max-width: 120px;
          }
        }
      }

      .record-actions {
        display: flex;
        gap: 4px;
        margin-left: 8px;
        opacity: 0;
        transition: opacity 0.2s ease;

        .el-button {
          padding: 4px;
          min-height: auto;
        }
      }

      &:hover .record-actions {
        opacity: 1;
      }
    }

    // 紧凑型购买记录卡片样式
    .purchase-record-card {
      border: 1px solid #e4e7ed;
      border-radius: 6px;
      margin-bottom: 8px;
      background: #fff;
      overflow: hidden;
      transition: all 0.2s ease;

      &:hover {
        border-color: #409eff;
        box-shadow: 0 2px 6px rgba(64, 158, 255, 0.1);
      }

      .record-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 8px 12px;
        background: #f8f9fa;
        border-bottom: 1px solid #e4e7ed;

        .shop-info {
          display: flex;
          align-items: center;
          gap: 8px;

          .shop-name {
            font-weight: 500;
            color: #303133;
            font-size: 13px;
          }

          .order-date {
            font-size: 11px;
            color: #909399;
            background: #e4e7ed;
            padding: 2px 6px;
            border-radius: 3px;
          }
        }

        .record-actions {
          display: flex;
          gap: 4px;
        }
      }

      .product-section {
        padding: 10px;
        border-bottom: 1px solid #f0f0f0;

        .product-info {
          display: flex;
          justify-content: space-between;
          align-items: flex-start;

          .product-main {
            flex: 1;

            .product-name {
              font-size: 14px;
              color: #303133;
              font-weight: 500;
              margin-bottom: 5px;
              line-height: 1.4;
            }

            .product-details {
              display: flex;
              // flex-direction: column;
              gap: 30px;
              font-size: 12px;
              color: #909399;

              .product-spec,
              .product-code {
                display: block;
              }
            }
          }

          .product-quantity {
            margin-left: 16px;

            .quantity {
              font-size: 14px;
              color: #606266;
              font-weight: 500;
            }
          }
        }
      }

      .order-details {
        padding: 12px 16px;
        background: #fafafa;

        .detail-row {
          display: flex;
          align-items: center;
          margin-bottom: 6px;
          font-size: 12px;

          &:last-child {
            margin-bottom: 0;
          }

          .label {
            color: #909399;
            width: 70px;
            flex-shrink: 0;
          }

          .value {
            color: #606266;
            flex: 1;

            &.address {
              line-height: 1.4;
            }

            &.remark {
              font-style: italic;
              color: #909399;
              background-color: #f5f7fa;
              padding: 2px 6px;
              border-radius: 4px;
              border: 1px solid #e4e7ed;
            }
          }

          .phone {
            color: #409eff;
            margin-left: 8px;
          }
        }
      }
    }

    .more-records {
      text-align: center;
      padding: 8px 0;
      border-top: 1px solid #e9ecef;
      margin-top: 8px;
    }
  }

  .no-records {
    padding: 20px 0;
    text-align: center;
    color: #909399;
    font-size: 13px;
  }
}

.medication-reminder-info {
  .info-item {
    display: flex;
    align-items: center;
    margin-bottom: 8px;
    font-size: 13px;

    &:last-child {
      margin-bottom: 0;
    }

    .info-label {
      width: 60px;
      color: #909399;
      font-weight: 500;
      flex-shrink: 0;
      margin-right: 12px;
      font-size: 12px;
      background-color: #f5f7fa;
      border-radius: 4px;
      text-align: center;
      border: 1px solid #e4e7ed;
      padding: 0 3px;
    }

    .info-value {
      color: #303133;
      flex: 1;
      font-weight: 500;
    }
  }
}

.no-medication {
  padding: 12px 0;
  text-align: center;
  color: #909399;
  font-size: 13px;
}

// 购买记录对话框样式
.purchase-record-dialog {
  .purchase-record-header {
    margin-bottom: 16px;
    display: flex;
    justify-content: flex-end;
  }

  .empty-state {
    padding: 40px 0;
    text-align: center;
  }

  .el-table {
    .el-button + .el-button {
      margin-left: 8px;
    }
  }
}

// 购买记录对话框样式
.purchase-record-dialog {
  .purchase-record-form {
    .form-section {
      margin-bottom: 20px;
      padding: 20px;
      background-color: #fafbfc;
      border-radius: 8px;
      border: 1px solid #e4e7ed;

      .section-title {
        margin: 0 0 20px 0;
        padding: 0 0 10px 0;
        font-size: 14px;
        font-weight: 600;
        color: #303133;
        border-bottom: 2px solid #409eff;
        position: relative;

        &::before {
          content: '';
          position: absolute;
          left: 0;
          bottom: -2px;
          width: 30px;
          height: 2px;
          background-color: #409eff;
        }
      }

      &:last-child {
        margin-bottom: 0;
      }
    }

    :deep(.el-form-item__label) {
      font-weight: 500;
      color: #606266;
    }

    :deep(.el-input__wrapper) {
      border-radius: 6px;
    }

    :deep(.el-select) {
      width: 100%;
    }

    :deep(.el-date-editor) {
      width: 100%;
    }

    :deep(.el-input-number) {
      width: 100%;
    }
  }
}

// 用药提醒对话框样式
.medication-reminder-dialog {
  .medication-reminder-form {
    .form-section {
      margin-bottom: 20px;
      padding: 20px;
      background-color: #fafbfc;
      border-radius: 8px;
      border: 1px solid #e4e7ed;

      .section-title {
        margin: 0 0 20px 0;
        padding: 0 0 10px 0;
        font-size: 14px;
        font-weight: 600;
        color: #303133;
        border-bottom: 2px solid #409eff;
        position: relative;

        &::before {
          content: '';
          position: absolute;
          left: 0;
          bottom: -2px;
          width: 30px;
          height: 2px;
          background-color: #409eff;
        }
      }

      &:last-child {
        margin-bottom: 0;
      }
    }

    :deep(.el-form-item__label) {
      font-weight: 500;
      color: #606266;
    }

    :deep(.el-input__wrapper) {
      border-radius: 6px;
    }

    :deep(.el-select) {
      width: 100%;
    }

    :deep(.el-date-editor) {
      width: 100%;
    }

    :deep(.el-input-number) {
      width: 100%;
    }

    :deep(.el-radio-group) {
      display: flex;
      align-items: center;
    }

    :deep(.el-textarea__inner) {
      border-radius: 6px;
    }
  }
}

// 客户动态加载更多样式
.load-more-container {
  text-align: center;
  margin-top: 20px;
  padding: 10px 0;

  .load-more-btn {
    font-size: 14px;
    color: #409eff;

    &:hover {
      color: #66b1ff;
    }
  }

  .no-more-data {
    color: #999;
    font-size: 12px;
    font-style: italic;
  }
}

// 客户动态操作按钮样式
.activity-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;

  .el-button {
    display: flex;
    align-items: center;
    gap: 4px;
    border-radius: 16px;
    padding: 6px 12px;
    font-size: 12px;
    transition: all 0.3s ease;

    &:hover {
      transform: translateY(-1px);
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    }

    .el-icon {
      font-size: 14px;
    }
  }
}

// 群成员列表样式
.group-members-container {
  .group-members-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
    margin-bottom: 12px;

    .group-member-item {
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      padding: 5px;
      border-radius: 8px;
      background-color: #fff;
      // border: 1px solid #e4e7ed;
      transition: all 0.3s ease;

      // &:hover {
      //   background-color: #f5f7fa;
      //   border-color: #409eff;
      //   transform: translateY(-2px);
      //   box-shadow: 0 4px 12px rgba(64, 158, 255, 0.15);
      // }

      .member-avatar {
        width: 100%;
        height: 50px;
        border-radius: 6px;
        margin-bottom: 6px;
        // object-fit: cover;
        border: 2px solid #e4e7ed;
        transition: border-color 0.3s ease;
      }

      .member-name {
        font-size: 12px;
        color: #606266;
        font-weight: 500;
        line-height: 1.2;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        word-break: break-all;
      }

      &:hover .member-avatar {
        border-color: #409eff;
      }
    }
  }

  .show-more-container {
    text-align: center;
    padding: 8px 0;
    border-top: 1px solid #e4e7ed;

    .el-button {
      font-size: 12px;
      padding: 4px 12px;
    }
  }
}

// 成员数量显示样式
.member-count {
  font-size: 12px;
  color: #909399;
  background-color: #f5f7fa;
  padding: 2px 8px;
  border-radius: 12px;
  border: 1px solid #e4e7ed;
}

// 紧凑型购买记录卡片的详细样式
.purchase-record-card {
  .product-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 12px;
    border-bottom: 1px solid #f0f0f0;

    .product-main {
      flex: 1;

      .product-name {
        font-size: 13px;
        color: #303133;
        font-weight: 500;
        line-height: 1.2;
      }
    }

    .product-right {
      display: flex;
      align-items: center;
      gap: 8px;

      .product-spec {
        font-size: 10px;
        color: #909399;
        background: #e8f4fd;
        padding: 1px 4px;
        border-radius: 2px;
      }

      .product-quantity {
        font-size: 12px;
        color: #606266;
        font-weight: 500;
      }
    }
  }

  .details-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px 12px;
    padding: 8px 12px;
    background: #fafbfc;
    border-bottom: 1px solid #f0f0f0;

    .detail-item {
      display: flex;
      align-items: flex-start;
      font-size: 11px;

      .detail-label {
        color: #909399;
        width: 40px;
        flex-shrink: 0;
        margin-right: 6px;
      }

      .detail-value {
        color: #606266;
        flex: 1;
        font-weight: 500;
        line-height: 1.3;
      }
    }
  }

  .receiver-info {
    display: flex;
    align-items: center;
    padding: 8px 12px;
    background: #f8f9fa;
    border-bottom: 1px solid #f0f0f0;
    font-size: 11px;
    gap: 8px;

    .receiver-label {
      color: #909399;
      width: 40px;
      flex-shrink: 0;
    }

    .receiver-name {
      color: #606266;
      font-weight: 500;
    }

    .receiver-phone {
      color: #409eff;
      font-size: 10px;
      background: #e8f4fd;
      padding: 2px 6px;
      border-radius: 3px;
    }
  }

  .additional-info {
    padding: 6px 12px;
    font-size: 11px;

    .address-info,
    .remark-info {
      display: flex;
      margin-bottom: 4px;

      &:last-child {
        margin-bottom: 0;
      }

      .info-label {
        color: #909399;
        width: 35px;
        flex-shrink: 0;
        margin-right: 6px;
      }

      .info-value {
        color: #606266;
        flex: 1;
        line-height: 1.3;
      }
    }

    .remark-info .info-value {
      font-style: italic;
      color: #909399;
    }
  }
}

// 用药提醒网格布局样式
.medication-reminder-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0px 16px;

  .info-item {
    display: flex;
    align-items: center;
    min-height: 32px;
    font-size: 13px;
    padding: 6px 0;

    &.info-item-full {
      grid-column: 1 / -1;
    }

    .info-label {
      width: 60px;
      color: #909399;
      font-weight: 500;
      flex-shrink: 0;
      margin-right: 12px;
      font-size: 12px;
      background-color: #f0f9eb;
      border-radius: 4px;
      text-align: center;
      border: 1px solid #e1f3d8;
    }

    .info-value {
      color: #303133;
      flex: 1;
      word-break: break-all;
      line-height: 1.4;
      font-weight: 500;
      font-size: 13px;
    }

    .el-tag {
      font-size: 12px;
      height: 22px;
      line-height: 20px;
    }
  }
}
/* @群成员选择器样式 */
.at-member-selector {
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  background: white;
  border: 1px solid #e4e7ed;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  max-height: 200px;
  overflow-y: auto;
  z-index: 1000;
  margin-bottom: 8px;

  .at-member-header {
    padding: 12px 16px 8px;
    font-size: 14px;
    font-weight: 500;
    color: #606266;
    border-bottom: 1px solid #f0f0f0;
    background: #fafafa;
    border-radius: 8px 8px 0 0;
  }

  .at-member-list {
    max-height: 150px;
    overflow-y: auto;
  }

  .at-member-item {
    display: flex;
    align-items: center;
    padding: 8px 16px;
    cursor: pointer;
    transition: background-color 0.2s;

    &:hover {
      background-color: #f5f7fa;
    }

    .at-member-avatar {
      width: 32px;
      height: 32px;
      border-radius: 50%;
      margin-right: 12px;
      object-fit: cover;
    }

    .at-member-name {
      font-size: 14px;
      color: #303133;
      flex: 1;
    }
  }

  .at-member-empty {
    padding: 16px;
    text-align: center;
    color: #909399;
    font-size: 14px;
  }
}

/* 输入框容器相对定位 */
.messageContent-bodyinput {
  position: relative;
}

/* 群成员项@按钮样式 */
.group-member-item {
  position: relative;
  cursor: pointer;
  transition: all 0.2s ease;
  width: 60px;
  &:hover {
    transform: translateY(-2px);
    // box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);

    .at-member-btn {
      opacity: 1;
      transform: scale(1);
    }
  }

  .at-member-btn {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 20px;
    height: 20px;
    background: #409eff;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: bold;
    opacity: 0;
    transform: scale(0.8);
    transition: all 0.2s ease;
    box-shadow: 0 2px 6px rgba(64, 158, 255, 0.3);
  }

  // 邀请好友按钮样式
  &.invite-member-item {
    // border: 2px dashed #d9d9d9;
    border-radius: 8px;
    background: #fafafa;
    flex-direction: none;
    // &:hover {
    //   border-color: #409eff;
    //   background: #f0f9ff;

    //   .invite-member-icon {
    //     color: #409eff;
    //     transform: scale(1.1);
    //   }
    // }

    .invite-member-icon {
      width: 50px;
      height: 50px;
      border-radius: 8%;
      background: #e6f7ff;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 4px;
      transition: all 0.2s ease;

      .el-icon {
        font-size: 20px;
        color: #1890ff;
      }
    }

    .member-name {
      color: #666;
      font-size: 12px;
      display: none;
    }
  }
}

/* 已@成员显示区域样式 */
.selected-at-members {
  position: absolute;
  bottom: 227px; /* 在bodyinput上方，bodyinput高度是227px */
  left: 0;
  right: 0;
  padding: 8px 16px;
  background: #ffffff;
  border-top: 1px solid #dccfcf;
  border-left: 1px solid #dccfcf;
  border-right: 1px solid #dccfcf;
  z-index: 10; /* 确保在其他元素上方 */
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.05);

  .at-members-header {
    font-size: 12px;
    color: #6c757d;
    margin-bottom: 6px;
    font-weight: 500;
  }

  .at-members-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;

    .at-member-tag {
      font-size: 12px;
      border-radius: 12px;
      padding: 2px 8px;
    }
  }
}

// 邀请好友进群对话框样式
.invite-friends-dialog {
  .dialog-header {
    margin-bottom: 20px;

    p {
      margin: 0 0 12px 0;
      color: #606266;
      font-size: 14px;
    }

    .search-input {
      width: 100%;

      .el-input__wrapper {
        border-radius: 20px;
      }
    }
  }

  .friends-list {
    max-height: 400px;
    overflow-y: auto;
    border: 1px solid #dcdfe6;
    border-radius: 4px;
    padding: 16px;

    .empty-state {
      text-align: center;
      padding: 40px 0;
    }

    .friend-section {
      margin-bottom: 20px;

      &:last-child {
        margin-bottom: 0;
      }

      .section-title {
        font-size: 14px;
        font-weight: 500;
        color: #303133;
        margin-bottom: 12px;
        padding-bottom: 8px;
        border-bottom: 1px solid #ebeef5;
      }

      .friends-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
        gap: 12px;

        .friend-item {
          display: flex;
          flex-direction: column;
          align-items: center;
          padding: 12px 8px;
          border: 1px solid #ebeef5;
          border-radius: 8px;
          cursor: pointer;
          transition: all 0.3s ease;
          position: relative;

          &:hover {
            border-color: #409eff;
            background-color: #f0f9ff;
          }

          &.selected {
            border-color: #409eff;
            background-color: #ecf5ff;

            .friend-checkbox {
              .el-checkbox {
                .el-checkbox__input.is-checked .el-checkbox__inner {
                  background-color: #409eff;
                  border-color: #409eff;
                }
              }
            }
          }

          .friend-avatar {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            overflow: hidden;
            margin-bottom: 8px;

            img {
              width: 100%;
              height: 100%;
              object-fit: cover;
            }
          }

          .friend-name {
            font-size: 12px;
            color: #303133;
            text-align: center;
            line-height: 1.2;
            margin-bottom: 8px;
            word-break: break-all;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
          }

          .friend-checkbox {
            position: absolute;
            top: 8px;
            right: 8px;
          }
        }
      }
    }
  }

  .selected-friends {
    margin-top: 20px;
    padding: 16px;
    background-color: #f8f9fa;
    border-radius: 8px;

    .selected-title {
      font-size: 14px;
      font-weight: 500;
      color: #303133;
      margin-bottom: 12px;
    }

    .selected-list {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;

      .el-tag {
        margin: 0;
      }
    }
  }

  .dialog-footer {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
  }
}
// 字数统计样式调整
.messageContent-bodyinput {
  :deep(.el-textarea .el-input__count) {
    bottom: 22px !important;
  }
}
